/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package types;

import java.util.Collection;

/**
 *
 * @author Roman
 */
public interface ISudokuMatrix<T> {

  public T getElementAt(int i, int j);

    public void insertElementAt(T element, int i, int j);

    public int getRowCount();

    public int getColCount();

    public int getBoxNum();

    public Collection getQuadratDigits(int quadratNumber)throws Exception;

 

    /**
     * Prueft ob der Wert bereits in der (horizontalen) SPALTE existiert
     * @return-> Gibt true zurueck, wenn der Wert bereits existiert
     */
    public boolean checkHorizontal(int j, T element);

    /**
     * Prueft ob der Wert bereits in der (vertikalen) REIHE existiert
     * @return-> Gibt true zurueck, wenn der Wert bereits existiert
     */
    public boolean checkVertical(int i, T element);

    /**
     * Prueft ob der Wert bereits in der BOX existiert
     * @return-> Gibt true zurueck, wenn der Wert bereits existiert
     */
    public boolean checkBox(int i, int j, T element);

}
